在mybatis 中批量加载mapper.xml
可以直接加载一个包文件名,将这个包里的所有*mapper.xml文件加载进来。
指定mapper接口的包名,mybatis自动扫描包下边所有mapper接口进行加载;
必须按一定的标准:即xml文件和java文件的名字必须一样,且在同一个目录(包)内,如:userMapper.xml和userMapper.java两个文件在一个目录,且文件名相同;
在sqlMapConfig.xml文件中,加载的样例如下:
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE configuration 3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 4 "http://mybatis.org/dtd/mybatis-3-config.dtd"> 5 <configuration> 6 7 <!-- 加载属性文件 --> 8 <properties resource="db.properties"> 9 <!--properties中还可以配置一些属性名和属性值 --> 10 <!-- <property name="jdbc.driver" value=""/> --> 11 </properties> 12 <!-- 全局配置参数,需要时再设置 --> 13 <!-- <settings> 14 15 </settings> --> 16 17 <!-- 别名定义 --> 18 <typeAliases> 19 20 <!-- 针对单个别名定义 21 type:类型的路径 22 alias:别名 23 --> 24 <!-- <typeAlias type="cn.itcast.mybatis.po.User" alias="user"/> --> 25 <!-- 批量别名定义 26 指定包名,mybatis自动扫描包中的po类,自动定义别名,别名就是类名(首字母大写或小写都可以) 27 --> 28 <package name="cn.itcast.mybatis.po"/> 29 30 </typeAliases> 31 32 <!-- 和spring整合后 environments配置将废除--> 33 <environments default="development"> 34 <environment id="development"> 35 <!-- 使用jdbc事务管理,事务控制由mybatis--> 36 <transactionManager type="JDBC" /> 37 <!-- 数据库连接池,由mybatis管理--> 38 <dataSource type="POOLED"> 39 <property name="driver" value="${jdbc.driver}" /> 40 <property name="url" value="${jdbc.url}" /> 41 <property name="username" value="${jdbc.username}" /> 42 <property name="password" value="${jdbc.password}" /> 43 </dataSource> 44 </environment> 45 </environments> 46 <!-- 加载 映射文件 --> 47 <mappers> 48 <mapper resource="sqlmap/User.xml"/> 49 50 <!--通过resource方法一次加载一个映射文件 --> 51 <!-- <mapper resource="mapper/UserMapper.xml"/> --> 52 53 <!-- 通过mapper接口加载单个 映射文件 54 遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中 55 上边规范的前提是:使用的是mapper代理方法 56 --> 57 <!-- <mapper class="cn.itcast.mybatis.mapper.UserMapper"/> --> 58 59 <!-- 批量加载mapper 60 指定mapper接口的包名,mybatis自动扫描包下边所有mapper接口进行加载 61 遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中 62 上边规范的前提是:使用的是mapper代理方法 63 --> 64 <package name="cn.itcast.mybatis.mapper"/> 65 66 </mappers> 67 68 </configuration>
活到老,学到老。